<?php
/**
 * Created by PhpStorm.
 * Version :  v1.0.0
 * Date    :  2023/5/13 17:08
 */

namespace App\JsonRpc;


interface UserServiceInterface
{
    /**
     * 使用雪花算法生成分布式ID
     * date 2023/5/13 17:06
     * @param string $prefix 前缀
     * @return string 分布式ID
     */
    public function genGenerateId(string $prefix): string;

    /**
     * 获取用户详情
     * date 2023/5/26 11:50
     * @param string $user_id 用户ID
     * @param array $field 获取字段
     * @return mixed
     */
    public function info(string $user_id , array $field);

    /**
     * 根据身份证号返回性别
     * date 2023/4/13 14:31
     * @param string $id 身份证号
     * @return string 性别
     */
    public function getGenderForIdentity(string $id) : string;

    /**
     * 匹配一个用户
     * date 2023/5/26 11:50
     * @param array $where 查询条件
     * @param array $field 获取字段
     * @return mixed
     */
    public function searchOne(array $where , array $field);

    /**
     * 新增用户信息
     * @param array $data 用户数据
     * @return bool
     */
    public function storeUser(array $data) : bool;

    /**
     * 更新用户信息
     * @param array $data 用户数据
     * @return int 结果
     */
    public function updateUser(array $data) : int;

    /**
     * 用户登录
     * @param array $data 请求数据
     * @return string|bool
     */
    public function login(array $data) : string|bool;

}